Data Engineer 练习题 — 数据工程师 - 助理级

1. 题库联网,会自动更新,无需重新获取;

2. 激活题库立即做题,支持网站、小程序同时做题,每题双语一键切换;

3. 包含在线练习,模拟测试,笔记、错题记录等功能,有效期一年;

4. 建议做题顺序:开背题模式看题➡️顺序练习做题➡️模拟考试 考前自测

5. 激活码可点击右侧 立即购买,或通过天猫旗舰店购买;

6. 有问题可通过小程序、微信、WhatsApp、LINE 联系客服。

考试信息

一、认证核心概述

认证名称  Databricks Certified Data Engineer Associate (Databricks认证数据工程师助理)

认证级别  助理级(Associate),面向数据工程入门及中级人员

核心定位  验证使用Databricks数据智能平台进行数据准备、转换和分析的能力,重点考察Lakehouse架构实践技能

有效期  2年,到期需重新认证

推荐经验  建议6个月以上Databricks平台实操经验,熟悉数据工程基础任务

前置条件  无强制要求,但强烈建议完成相关培训课程


二、考试基本信息

考试代码  DEA-100 (当前版本)

题目数量  45道计分题,可能包含少量不计分测试题(未标明)

考试时长  90分钟(已包含不计分题答题时间)

考试费用  200美元,另加适用税费,因地区而异

考试语言  英语、日语、巴西葡萄牙语、韩语

考试形式  在线远程监考(通过Kryterion/Webassessor)或考试中心监考

题型  全部为单项选择题,多为场景化题目,侧重实际问题解决能力

及格分数  Databricks未公开官方及格线,社区普遍认为约70%(需答对32题以上)

考试结果  即时显示(通过/未通过),通过后24小时内可在Databricks账户查看证书

重考政策  首次未通过需等待14天,第二次未通过需等待30天,第三次及以后需等待60天


样题

Data Engineer · Q1
问题 #1
一位数据工程师正在处理两个表。这两个表的完整内容如下所示。

" target="_blank" rel="nofollow noopener">https://img.examtopics.com/certified-data-engineer-associate/image79.png">

该数据工程师运行以下查询将这两个表连接起来:

" target="_blank" rel="nofollow noopener">https://img.examtopics.com/certified-data-engineer-associate/image80.png">

上述查询将返回以下哪个结果?
  • A.
    " target="_blank" rel="nofollow noopener">https://img.examtopics.com/certified-data-engineer-associate/image81.png">
  • B.
    " target="_blank" rel="nofollow noopener">https://img.examtopics.com/certified-data-engineer-associate/image82.png">
  • C.
    " target="_blank" rel="nofollow noopener">https://img.examtopics.com/certified-data-engineer-associate/image83.png">
  • D.
    " target="_blank" rel="nofollow noopener">https://img.examtopics.com/certified-data-engineer-associate/image84.png">

答案: C

本题是All Certified Data Engineer Associate认证中SQL基础模块的经典考题,核心考察多表连接的语法和运算逻辑,首先明确本次查询使用的是左外连接(LEFT JOIN),左外连接的核心特性是完整保留左表的所有行,对于右表中满足连接条件的行进行匹配关联,若左表某行在右表中没有符合条件的匹配项,则对应的右表字段全部填充为NULL值。结合本题给出的两个测试表数据,左表共有3条有效记录,右表中与左表customer_id匹配的记录共3条,左表ID为1的记录匹配右表2条,ID为3的匹配右表1条,ID为2的无匹配,最终返回的结果集共4行,内容与选项C完全一致,因此选项C为正确答案。

各选项分析:
A. 该选项的结果仅包含左右表完全匹配的3条记录,未保留左表中无匹配的ID为2的记录,符合内连接(INNER JOIN)的运算结果,不符合本题使用的左连接规则,因此错误。
B. 该选项仅返回3条记录,对左表ID为1的匹配结果进行了错误去重,同时遗漏了左表无匹配的ID为2的记录,不符合左连接的运算逻辑,因此错误。
C. 该选项的结果完整保留了左表的所有3条记录,左表ID为1的行匹配右表2条记录全部保留,ID为2的行对应的右表字段填充为NULL,ID为3的行匹配右表1条记录,完全符合左外连接的运算规则,因此正确。
D. 该选项的结果同时保留了左右表的所有记录,包含右表中无左表匹配的行,符合全外连接(FULL OUTER JOIN)的运算结果,不符合本题左连接的逻辑,因此错误。

关键知识点:
1. SQL左外连接运算规则:左外连接会完整保留左表的所有记录,按照连接条件匹配右表记录,无匹配的右表字段填充NULL值,是数据工程师日常数据关联场景中最常用的连接类型之一,为认证核心考点。
2. SQL多连接类型的差异:需要清晰区分内连接、左外连接、右外连接、全外连接的适用场景和运算结果差异,能够根据业务需求选择正确的连接方式,是认证SQL模块的必考内容。
3. 多表连接结果校验规则:左连接的结果行数不小于左表的行数,若左表单行匹配右表多行则结果行数对应累加,该规则可用于快速验证连接结果的正确性,是数据工程师必备的基础技能。

参考资料:
Amazon Redshift 数据库开发人员指南 - JOIN 类型, https://docs.aws.amazon.com/zh_cn/redshift/latest/dg/r_JOIN_types.html
Google BigQuery 标准 SQL 查询语法 - 连接子句, https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#join_clauses
Data Engineer · Q2
问题 #2
Spark SQL 的数组函数提供了以下哪些优点?
  • A.
    能够同时处理多种类型的数据
  • B.
    能够在特定分区和窗口中处理数据。
  • C.
    能够处理指定时间间隔内的时间相关数据
  • D.
    能够处理从 JSON 文件中提取的复杂嵌套数据

答案: D

Spark SQL的数组函数是专门针对ArrayType类型字段设计的内置函数集合,核心应用场景就是处理半结构化数据中的嵌套数组结构。JSON是大数据场景下最常见的半结构化数据源,加载到Spark后其嵌套的数组字段会被自动识别为ArrayType,此时使用数组函数可以直接对数组内的元素执行过滤、展开、转换、聚合等操作,无需额外的自定义代码处理嵌套结构,大幅提升半结构化数据的加工效率,因此D选项是数组函数的典型优点。

各选项分析:
A. 错误,能够处理多种类型数据是Spark SQL所有内置函数的通用特性,并非数组函数独有的优点,数组函数仅针对数组类型字段生效,不具备同时处理多类型数据的特殊优势。
B. 错误,在特定分区和窗口中处理数据是Spark SQL窗口函数的核心能力,数组函数的执行逻辑不涉及数据分区或窗口划分,该功能与数组函数无关。
C. 错误,处理指定时间间隔内的时间相关数据是Spark SQL时间函数、时间窗口函数的功能,数组函数不涉及时间维度的处理逻辑,因此该描述不属于数组函数的优点。
D. 正确,JSON属于典型的半结构化数据,通常包含大量嵌套数组结构,Spark SQL内置的数组函数如explode、array_filter、flatten等可以直接处理从JSON中提取的ArrayType类型嵌套数据,简化半结构化数据的加工流程,这是数组函数的核心优势之一。

关键知识点:
1. Spark SQL复杂类型函数体系:Spark SQL针对数组、结构体、映射等复杂嵌套类型提供了专用的内置函数,无需自定义UDF即可完成复杂类型数据的加工,是Databricks数据工程师助理认证的核心考点之一。
2. Spark SQL数组函数的核心用途:数组函数主要用于对数组类型字段执行元素检索、展开、过滤、拼接、转换等操作,是半结构化数据处理的核心工具。
3. Spark JSON数据处理机制:Spark加载JSON数据源时会自动推断嵌套结构,将JSON中的数组字段映射为Spark SQL的ArrayType类型,可直接调用数组函数处理。

参考资料:
Apache Spark官方文档 Spark SQL Built-in Array Functions, https://spark.apache.org/docs/latest/api/sql/index.html#array-functions
Apache Spark官方文档 JSON Files, https://spark.apache.org/docs/latest/sql-data-sources-json.html
Data Engineer · Q3
问题 #3
以下哪项完全托管在经典 Databricks 架构的控制平面中?
  • A.
    工作节点
  • B.
    JDBC 数据源
  • C.
    Databricks Web 应用程序
  • D.
    Databricks 文件系统
  • E.
    驱动节点

答案: C

经典Databricks架构采用控制平面与数据平面分离的设计,控制平面是由Databricks官方完全托管的服务层,负责管理工作区核心的服务能力,不需要用户进行任何运维操作。题目要求选出完全托管在控制平面的组件,Databricks Web应用程序作为用户访问工作区的统一入口,包含UI界面、API服务网关等,属于控制平面的核心原生组件,完全由Databricks负责部署、运维和升级,完全符合题目要求。 各选项分析:
A. 工作节点属于Databricks集群的计算执行节点,部署在用户侧的云提供商环境中,属于数据平面组件,不由控制平面完全托管,因此错误。
B. JDBC数据源是用户根据业务需求自行配置的外部数据源,通常部署在用户的私有网络或第三方服务中,不属于Databricks控制平面的托管组件,因此错误。
C. Databricks Web应用程序是控制平面的核心组件,为用户提供工作区操作UI、API访问入口等能力,完全由Databricks官方托管运维,用户无需承担任何管理责任,因此正确。
D. Databricks文件系统的元数据部分存储在控制平面,但实际的底层数据存储依赖用户云账号下的对象存储服务,比如AWS S3、Azure ADLS,属于用户侧资源,并非完全由控制平面托管,因此错误。
E. 驱动节点是Databricks集群的任务调度节点,和工作节点一同部署在用户侧的云环境中,属于数据平面组件,不由控制平面完全托管,因此错误。 关键知识点:
1. 经典Databricks架构采用控制平面与数据平面分离的设计,控制平面由Databricks官方完全托管,数据平面部署在用户的云提供商环境中,承载计算和存储负载。
2. Databricks控制平面的核心组件包括Web应用程序、身份认证服务、工作区元数据管理、集群调度服务等,所有组件的运维工作均由Databricks负责。
3. Databricks数据平面的核心组件包括驱动节点、工作节点、关联的云存储和网络资源,资源的所有权和部分管理权限归用户所有。 参考资料:
Databricks平台架构概述, https://docs.databricks.com/getting-started/overview.html#classic-architecture
Databricks Certified Data Engineer Associate考试指南
Data Engineer · Q4
问题 #4
使用 Databricks Lakehouse 平台的以下哪些优势是由 Delta Lake 提供的?
  • A.
    使用多种语言处理相同数据的能力
  • B.
    在同一台笔记本电脑上实时协作的能力
  • C.
    设置查询失败警报的功能
  • D.
    支持批处理和流式工作负载的能力
  • E.
    分发复杂数据操作的能力

答案: D

Delta Lake是Databricks Lakehouse平台的核心存储层组件,是湖仓一体架构的核心支撑。题目要求识别由Delta Lake提供的优势,其中流批一体是Delta Lake的原生核心特性,它允许用户使用同一套存储结构同时支撑批处理和流式工作负载,无需在不同存储系统间迁移或同步数据,大幅降低了架构复杂度和数据冗余,该能力是Delta Lake独有的核心价值,因此正确选项为D。

各选项分析:
A. 使用多种语言处理相同数据的能力是Databricks计算层基于Spark引擎提供的特性,支持Python、SQL、Scala、R等多语言访问数据,该能力不属于Delta Lake的功能范围,因此错误。
B. 在同一台笔记本上实时协作的能力是Databricks Notebooks上层协作模块提供的平台功能,和作为存储层组件的Delta Lake无关,因此错误。
C. 设置查询失败警报的能力属于Databricks平台监控与工作流调度模块的功能,并非Delta Lake提供,因此错误。
D. Delta Lake原生支持结构化流的读写操作,同一张Delta表可以同时作为批处理的输入输出、流式工作负载的源和目标,实现了批处理和流式工作负载的无缝支持,该能力是Delta Lake的核心优势,因此正确。
E. 分发复杂数据操作的能力是Databricks底层基于Spark的分布式计算引擎提供的能力,Delta Lake作为存储层不负责计算任务的分发,因此错误。

关键知识点:
1. Delta Lake核心特性:Delta Lake作为湖仓架构的存储层核心,原生提供ACID事务、版本回溯、流批一体支持等核心能力。
2. Databricks Lakehouse平台组件职责划分:Delta Lake属于存储层组件,计算、协作、监控、调度等能力由平台其他独立组件提供。
3. 流批一体架构价值:Delta Lake的流批统一能力消除了传统架构中批处理和流处理使用两套存储、两套逻辑带来的数据不一致、冗余和维护成本高的问题。

参考资料:
Delta Lake官方文档(Databricks), https://docs.databricks.com/delta/index.html
Databricks结构化流与Delta Lake集成文档, https://docs.databricks.com/structured-streaming/delta-lake.html
Data Engineer · Q5
问题 #5
以下哪项描述了 Delta 表的存储组织方式?
  • A.
    Delta 表存储在一个包含数据、历史记录、元数据和其他属性的单个文件中。
  • B.
    Delta 表将其数据存储在单个文件中,并将所有元数据存储在单独位置的一组文件中。
  • C.
    Delta 表存储在包含数据、历史记录、元数据和其他属性的文件集合中。
  • D.
    Delta 表存储在一组文件中,这些文件仅包含表中存储的数据。
  • E.
    Delta 表存储在单个文件中,该文件仅包含存储在表中的数据。

答案: C

Delta Lake是开源的开放存储格式,其表的存储以目录为基础单位,而非单个文件。Delta表的根目录下包含两类核心文件,一类是存储实际表数据的Parquet格式数据文件,另一类是存放在_delta_log子目录下的事务日志文件,事务日志中记录了表的元数据、版本变更历史、表属性配置、事务操作记录等所有非数据类信息,因此Delta表是包含数据、历史记录、元数据和其他属性的文件集合,选项C准确描述了这一组织方式,符合Delta表的存储设计规范,是正确答案。 各选项分析:
A. 错误,Delta表并非存储在单个文件中,其数据分散在多个Parquet数据文件,元数据和历史记录分散在_delta_log目录下的多个日志文件中,不存在包含所有内容的单个文件。
B. 错误,首先Delta表的数据并非存储在单个文件中,会按分区、分块生成多个Parquet数据文件;其次Delta表的元数据和历史记录存储在表根目录下的_delta_log子目录中,并非存放在与表数据完全分离的单独位置。
C. 正确,Delta表的存储是一组文件的集合,既包含存储实际业务数据的Parquet数据文件,也包含_delta_log目录下存储的元数据、版本历史记录、表属性配置、事务操作记录等内容,完全符合Delta表的存储组织特性。
D. 错误,Delta表的文件集合中除了实际存储的表数据外,还包含事务日志文件记录的元数据、版本历史等其他内容,并非仅包含数据。
E. 错误,Delta表既不是存储在单个文件中,也不是仅包含存储的表数据,还包含大量元数据、历史记录等非数据内容。 关键知识点:
1. Delta表存储架构:Delta表以目录为单位组织存储,根目录下包含存储实际数据的Parquet文件和存放事务日志的_delta_log子目录,所有元数据、版本信息都存储在事务日志中。
2. Delta事务日志核心作用:事务日志是Delta表实现ACID事务、时间旅行、Schema演进、并发控制等核心特性的基础,记录了所有对表的修改操作和元数据信息。
3. Delta开放存储特性:Delta是开放的存储格式,所有数据和元数据都以标准文件形式存储在通用存储系统中,不绑定特定计算引擎或存储服务,可被多引擎兼容访问。 参考资料:
Databricks Delta Lake 官方文档, https://docs.databricks.com/delta/index.html
Delta Lake 官方存储概念文档

常见问题

Data Engineer 有多少道练习题?

本题库收录 Data Engineer 练习题共 225 道,含单选、多选等题型,每题配有答案与解析。

Data Engineer 练习题支持中英文吗?

支持,Data Engineer 练习题为中英双语对照,便于对照原文理解。

Data Engineer 练习题可以免费试做吗?

可以,本页提供免费样题在线试做;完整题库可在掌学兔注册后获取。